package com.wlyuan.open.scanner.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 订单签收记录
 * </p>
 *
 * @author yuanjie
 * @since 2022-10-27
 */
@Data
@TableName("order_sign_log")
@ApiModel(value = "OrderSignLogDO对象", description = "订单签收记录")
public class OrderSignLogDO implements Serializable {


    private static final long serialVersionUID = 8139733170673752775L;
    @ApiModelProperty("订单签收记录id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("发送短信原始订单表主键id")
    private Long smsId;

    @ApiModelProperty("原始订单编码")
    private String orderCode;

    @ApiModelProperty("合同编号")
    private String pactCode;

    @ApiModelProperty("原始订单id")
    private Long rootOrderId;

    @ApiModelProperty("短信验证码")
    private String verifyCode;

    @ApiModelProperty("收货人id")
    private Long endUserId;

    @ApiModelProperty("收货人姓名")
    private String endUserName;

    @ApiModelProperty("收货人手机号码")
    private String toContact;

    @ApiModelProperty("发货时间")
    private LocalDateTime fromTime;

    @ApiModelProperty("微信openid")
    private String openId;

    @ApiModelProperty("签收方式。1扫码签收，2发货方签收，3承运方签收，4其他，5验证码签收")
    private String signType;

    @ApiModelProperty("证书地址")
    private String certUrl;

    @ApiModelProperty("是否有效。0有效，1无效")
    private String isValid;

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("创建人")
    private Long createBy;

    @ApiModelProperty("签收经纬度")
    private String signLocation;

    @ApiModelProperty("签收时设备的定位")
    private String signDeviceLocation;

    @ApiModelProperty("是否结算 0:否,1:是")
    @TableField(value = "isSettle")
    private Long isSettle;

    @ApiModelProperty("结算时间")
    @TableField(value = "settleTime")
    private LocalDateTime settleTime;

    @ApiModelProperty("文件大小")
    @TableField(value = "fileSize")
    private Long fileSize;

    @ApiModelProperty("公司id")
    @TableField(value = "companyId")
    private Long companyId;

    @ApiModelProperty("结算类型 0:场景证书结算 1:签收异常结算")
    @TableField(value = "settlementType")
    private Long settlementType;

    @ApiModelProperty(" 是否推送。0没有推送，1推送")
    private Integer isPush;


}
